This invention relates to microcomputers and more particularly to a control circuit for adapting microcomputers to operate with peripheral devices having access times slower than the microcomputer cycle time.
Microcomputers are devices which are designed having a number of input and output leads and the ability to carry out tasks through the execution of user provided instructions. In the context of this application, they may or may not have internal memory. These devices are usually used as the control system for some other complex equipment. Since a single microcomputer will find application in many diverse systems the microcomputer designer must of necessity arrange the device with a vast generality.
An important characteristic of microcomputers is the number of input/output (I/O) leads which link them to the external world. Whatever its task, the microcomputer must input and output data and control signals over these leads. Therefore, the number of these leads, and the way in which they can be used, determines the ease with which the microcomputer can be interfaced to a particular application. Typically, these leads are connected to peripheral devices and many signals must be sequentially communicated between the microcomputer and the devices to perform a particular operation with respect to the peripheral devices. These signals are transmitted during an access cycle of the microcomputer. Problems, however, occur in situations where a peripheral device reacts slower than the cycle time of the processor.
Typical solutions would be to slow or halt the microcomputer; access the peripheral device twice and ignore the first response; access the peripheral device by connecting it to the microcomputer's general purpose I/O leads and generate the sequential actions under program control using several instruction cycles; or use some external circuit for buffering the data to or from the peripheral device. Slowing the microcomputer is contrary to present trends and has impact on all operations, not just on accesses. Some microcomputers do not have halt capability and thus this option is not possible, and in any event requires external circuitry. Some peripherals cannot tolerate double accesses thereby eliminating that possibility. Using the general purpose input/output leads would require external circuitry to supplement those leads since more general purpose leads are necessary to perform an access than are normally available. Adding external circuitry to control access to peripherals is costly and cumbersome.
Thus, a need exists in the art to allow peripheral access by a microcomputer having a nominal cycle time greater than the pre-established accessing instructions.